﻿var idsolo;
$(document).ready(main);

function main() {

    


 var loc = window.location;
        var pathName = loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1,100);
        
        if (pathName == "RegistrarSolicitudProducto") {
            
            ejecutarPorDefecto();
            BscCargarTipoProducto();    
            $("#RegTbxFecha").datepicker({ dateFormat: 'dd/mm/yy' });
            $("#RegBtnCancelar").click(menuMantenimientoSolicitudProducto);

            $("#RegBtnRegistrar").click(registrarSolicitudProducto);
            
            $("#RegBtnAgregarProducto").click(function () {
                $("#tablaDinamica").show();
               $("#dialog-form").dialog("open");
            });
            
             $("#RvmBtnBuscar").click(buscarProducto);
             $("#RvmBtnCancelar").click(menuMantenimientoSolicitudProducto);


             
             
        } else {
             $("#BvmTbxModificarFecha").datepicker({ dateFormat: 'dd/mm/yy' });
            ejecutarPorDefectoM();
            
            $("#BscBtnModificar").hide();
            $("#BscBtnEliminar").hide();
            $("#BscTbxFechaInicial").datepicker({ dateFormat: 'dd/mm/yy' });
            $("#BscTbxFechaInicial").datepicker({ dateFormat: 'dd/mm/yy' });

            $("#BscBtnBuscar").click(buscarSolicitudProducto);
            $("#BscBtnCancelar").click(menuMantenimientoSolicitudProducto);
            $("#BscBtnEliminar").click(eliminarSolicitudProducto);
//            
            
           // $("#BscBtnLimpiar").click(limpiarBusqueda);
//           

            $("#BscBtnModificar").click(abrirModificar);


        }

    }

    function registrarSolicitudProducto() {

        document.getElementById("RegLblErrorTabla").innerHTML = "";
        document.getElementById("RegLblErrorFecha").innerHTML = "";
        if (($.trim($("#RegTbxComentario").val()) == "") ) {

            alert("Completar los datos obligatorios (*)");
            return null;
        }



        var now = new Date();

        var dt = ($("#RegTbxFecha").val() || "").split(/[\.\/\-]/g);
        // date needs at least date, month and year

        // create date using dd mm yyyy template
        var fecha = new Date(parseInt(dt[2], 10), parseInt(dt[1], 10) - 1, parseInt(dt[0], 10));
        //


        //        fecha.set
        
        //alert(fecha.getTime() + "-" + now.getTime());
        if (fecha.getTime() < now.getTime()) {

            document.getElementById("RegLblErrorFecha").innerHTML = "la fecha no puede ser menor al dia de hoy";
            return null;
        }






        var i;
        i = 0;

        var prod, um, cant, coment,lineaSol;

        $("#tablaDinamica tbody tr").each(function (index) {

            $(this).children("td").each(function (index2) {
                switch (index2) {
                    case 0:
                        prod = $(this).text();
                        break;
                   
                    case 2:
                        cant = $(this).children("div").children("input").val();
                        break;
                    case 3:
                        coment = $(this).children("input").val();
                        break;


                }


            })
           
            i = i + 1;
            if ($.trim(cant) == "") {
                cant = "0";
            }
            if (i == 2) {
                lineaSol = prod + "|" + um + "|" + cant + "|" + coment;
            }

            if (i > 2) {
                lineaSol = lineaSol + "|" + prod + "|" + um + "|" + cant + "|" + coment;
            }
        })
       

        if (i==1) {
            document.getElementById("RegLblErrorTabla").innerHTML = "seleccione por lo menos un producto";
            
            return null;
        }

        
        mantenerSolicitudProducto(1, $("#RegTbxFecha").val(), $("#RegTbxComentario").val(), lineaSol, 0);

      
                 
    }


    
    function mantenerSolicitudProducto(accion,fecha,comentario,lineaSol,id_solicitud){







        var enviar = {
        fecha:fecha,
            comentario:comentario,            
            lineaSol:lineaSol,
            idsolicitudProducto: id_solicitud,
            id_edificio: sessionStorage.getItem("edificio"),
            estaAprobado: sessionStorage.getItem("idPersona"),
            accion:accion
        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "mantenerSolicitudProducto",

            success: function (data) {
                alert(data.mensaje);
                if (accion == "1") {
                    menuMantenimientoSolicitudProducto();
                } else {

                    buscarSolicitudProducto();
                }

            }
        });



    }

    function menuMantenimientoSolicitudProducto() {
        window.history.back();
    }


    function ejecutarPorDefecto() {


     cargarTablaDinamica();




                $("#dialog-form").dialog({
                    autoOpen: false,
                    height: 600,
                    width: 850,
                    modal: true,
                    buttons: {
                        "Aceptar": function () {
                            var nombre, campo1,cod;




                            $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                                switch (index2) {
                                    case 2:
                                        nombre = $(this).text();
                                        break;

                                    case 1:
                                        cod= $(this).text();
                                        break;
                                }
                            })


                            $("#tablaDinamica tbody tr").each(function (index) {

                                $(this).children("td").each(function (index2) {
                                    switch (index2) {
                                        case 0:
                                            campo1 = $(this).text();
                                            break;

                                    }


                                })
                                if (campo1 == cod) {
                                    campo1 = "-1";
                                }

                            })

                            if (campo1 == "-1") {
                                alert("Ese producto ya fue seleccionado!");
                                return null;
                            }
                         

                            if ($("#tablaDinamica    tbody").length > 0) {


                                $('<tr><td>' + cod + '</td><td>' + nombre + '</td><td><div style="width:50px"><input type="text" onkeypress="return digits(this, event, true, true)"  value="" ></div></td><td><input type="text" value="" ></td><td><input type="button" value="Eliminar" onClick="$(this).parent().parent().remove();"></td></tr>').appendTo("#tablaDinamica tbody");
                            }
                            else {
                                $('<tr><td>' + cod + '</td><td>' + nombre + '</td><td><div style="width:50px"><input type="text" onkeypress="return digits(this, event, true, true)"  value="" ></div></td><td><input type="text" value="" ></td><td><input type="button" value="Eliminar" onClick="$(this).parent().parent().remove();"></td></tr>').appendTo("#tablaDinamica");
                            }




                            $(this).dialog("close");


                        },
                        Cancel: function () {

                            $(this).dialog("close");
                        }
                    },
                    close: function () {

                    }
                });


    }



    function ejecutarPorDefectoM() {







        $("#dialog-form").dialog({
            autoOpen: false,
            height: 600,
            width: 850,
            modal: true,
            buttons: {
                "Aceptar": function () {
                    
//                    $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
//                        switch (index2) {
//                            //                                case 0:     
//                            //                                    codigo = $(this).text();     
//                            //                                    break;     
//                            case 1:
//                                idSol = $(this).text();
//                                break;


//                        }
//                    })
                    //                    alert(idsol);


                    mantenerSolicitudProducto(2, $("#BvmTbxModificarFecha").val(), $("#BvmTbxModificarComentario").val(), "", idsolo);

                    $(this).dialog("close");
                   

                },
                Cancel: function () {

                    $(this).dialog("close");
                }
            },
            close: function () {

            }
        });


    }



    function cargarTablaDinamica(){
    var escritor = "";
            //idContrato, nombreEdificio, nombreProveedor, fechaRegistro, periodo, mantenible;

     escritor += "<table id='tablaDinamica'>" +
                    "<thead>" +
                      "<th >Codigo </th>" +
                        "<th>Producto </th>" +
                        
                        
                        '<th>Cantidad</th>' +
                        '<th>Comentario</th>' +
                        "<th>Eliminar</th>" +
                        

                //"<th class=" + "\"style1\" "+ "style="+"\"width:30px;\" "+"></th>"+
                    "</thead>";
                escritor += '<tbody id="bodyMP">';

                
                    escritor += "<tr>";
              
                    escritor += "</tr>";
                

                escritor += "</toby>";

                escritor += "</table>";

                $("#tablaDinamica").html(escritor);
                $("#tablaDinamica").hide();
    }
    function digits(obj, e, allowDecimal, allowNegative) {

        var key;
        var isCtrl = false;
        var keychar;
        var reg;

        if (window.event) {
            key = e.keyCode;
            isCtrl = window.event.ctrlKey
        }
        else if (e.which) {
            key = e.which;
            isCtrl = e.ctrlKey;
        }

        if (isNaN(key)) return true;
        keychar = String.fromCharCode(key);
        if (key == 8 || isCtrl) {
            return true;
        }
        reg = /\d/;
        var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
        var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
        return isFirstN || isFirstD || reg.test(keychar);
    }


    function buscarSolicitudProducto() {

        var fechaInicial, fechaFinal;




        var enviar = {

            fechaFinal: $("#BscTbxFechaInicial").val(),
            fechaInicial: $("#BscTbxFechaFinal").val(),
            id_edificio: sessionStorage.getItem("edificio")

        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "buscarSolicitudProducto",

            success: function (data) {
                var lista = data.listaSolicitudProducto;
                var escritor = "";
                //idContrato, nombreEdificio, nombreProveedor, fechaRegistro, periodo, mantenible;
                if (lista.length > 0) {
                    escritor += "<table id='tablaSolicitudProducto'>" +
                    "<thead>" +
                        "<th class=" + "\"style1\" " + "style=" + "\"width:30px;\" " + "></th>" +
                        '<th style=\"display:none\">Cod. Solicitud</th>' +
                        '<th>Fecha</th>' +
                        '<th>Nro. items</th>' +
                        '<th>Monto total</th>' +
'<th>Solicitante</th>' +                        
'<th>Comentario</th>' +

                    //"<th class=" + "\"style1\" "+ "style="+"\"width:30px;\" "+"></th>"+
                    "</thead>";
                    escritor += '<tbody id="bodyMP">';

                    $.each(lista, function (i, item) {
                        escritor += "<tr>";
                        escritor += "<td class=" + "\"style1\"" + " style=" + "\width:30px;\"" + " align=" + "\"center\"" + "><input id=" + "\"RadioButton1\"" + " name=" + "\"R1\"" + " type=" + "\"radio\"" + " value=" + "\"1\"" + " style=" + "\"width:30px;\"/></td>";
                        escritor += '<td style="width:auto; display:none;" >' + item.idSolicitudProducto + '</td>';
                        escritor += '<td style="width:auto;">' + item.fecha + '</td>';
                        escritor += '<td style="width:auto;">' + item.nroItems + '</td>';
                        escritor += '<td style="width:auto;">' + item.monto + '</td>';
                        escritor += '<td style="width:auto;">' + item.nombre + '</td>';
                        
                        escritor += '<td style="width:auto;">' + item.comentario + '</td>';
                        escritor += "</tr>";
                    });

                    escritor += "</toby>";

                    escritor += "</table>";


                    $("#TablaDinamicaBusqueda").html(escritor);
                    
                    $("#TablaDinamicaBusqueda").show();
                    $("#BscBtnModificar").show();
                    $("#BscBtnEliminar").show();
                    $("#holderBMP").show();
                    if (lista.length > 0) {
                        $(function () {
                            /* initiate the plugin */
                            $("#holderMP").jPages({//id del div de la paginacion
                                containerID: "bodyMP", //cuerpo es el id del tbody de mi tabla
                                perPage: 10, // numero de filas por pagina
                                delay: 20,
                                startPage: 1, // pagina que se visualizara en la pantalla
                                midRange: 3, // rango de numeros de pagina q se muestran en el div de paginacion, aqui es dond aparecen los puntos suspensivos: 1,2,3...10
                                animation: "flipInY"
                            });
                        });
                        //            setearValores('tablaContrato', 10);
                        //            init();
                        //            showPageNav('pager', 'NavPosicionCP');
                        //            showPage(1);
                    }
                } else {
                    escritor = "<p>No se encontró ninguna coincidencia</p>";


                    $("#TablaDinamicaBusqueda").html(escritor);
                    $("#holderBMP").hide();
                    $("#BscBtnModificar").hide();
                    $("#BscBtnEliminar").hide();
                    //$("#NavPosicionCP").hide();
                }

            }
        });
    }






    function eliminarSolicitudProducto() {
        var codigo;
        
        if ($("input:radio[name='R1']").is(":checked")) {
            $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                switch (index2) {
                    case 1:
                        codigo = $(this).text();
                        break;


                }
            })

        } else {
        alert("seleccione una fila");
            return null;
        }

        mantenerSolicitudProducto(0, "", "", "",codigo);
        
        buscarSolicitudProducto();


    }




    function abrirModificar() {
        if ($("input:radio[name='R1']").is(":checked")) {
            $("#dialog-form").dialog("open");


            var comentario, fecha, idSol;

            $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                switch (index2) {
                    //                                case 0:  
                    //                                    codigo = $(this).text();  
                    //                                    break;  
                    case 1:
                        idSol = $(this).text();
                        break;
                    case 2:
                        fecha = $(this).text();
                        break;
                    case 3:
                        comentario = $(this).text();
                        break;

                }
            })
            idsolo = idSol;
            //alert(idMantPrev + ' - ' + idMantenible + ' - ' + nombreMantenible + ' - ' + idContrato + ' - ' + idProveedor + ' - ' + proveedor + ' - ' + Fecha + ' - ' + descripcion + ' - ' + monto + ' - ' + $("input:radio[name='R1']:checked").val());
            document.getElementById("BvmTbxModificarFecha").value = fecha;

            document.getElementById("BvmTbxModificarComentario").value = comentario;

            
        var enviar = {
        descripcion:"1",
            nombre: idSol

        }

        var jsonData = JSON.stringify(enviar);
        
        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "buscarProducto",

            success: function (data) {
                
                var lista = data.listaDetSolicitudProducto;
                var escritor = "";
                //idContrato, nombreEdificio, nombreProveedor, fechaRegistro, periodo, mantenible;

                escritor += "<table id='tablaDinamicaModificar'>" +
                    "<thead>" +

                        "<th>Producto </th>" +

                        '<th>U. Medida</th>' +
                        '<th>Cantidad</th>' +
                        '<th>Comentario</th>' +
                        


                //"<th class=" + "\"style1\" "+ "style="+"\"width:30px;\" "+"></th>"+
                    "</thead>";
                escritor += '<tbody id="bodyMP">';


                $.each(lista, function (i, item) {
                    escritor += "<tr>";

                    escritor += '<td style="width:auto;">' + item.nombre + '</td>';
                    escritor += '<td style="width:auto;">' + item.um + '</td>';
                    escritor += '<td style="width:auto;">' + item.cantidad + '</td>';
                    escritor += '<td style="width:auto;">' + item.comentario + '</td>';
                  
                    escritor += "</tr>";
                });

                escritor += "</toby>";

                escritor += "</table>";
                
                $("#tablaDinamicaModificar").html(escritor);
                
            }
        });



        }
        else {
            alert("Debe seleccionar una fila");
        }

    }
    
       



       
   

    function limpiarBusqueda() {


        $("#BscTbxNombre").val("");
        $("#BscSctTipoProducto").val("");
        $("#BscTbxPrecioEstimadoMayor").val("");
        $("#BscTbxPrecioEstimadoMenor").val("");
        $("#BscTbxDescripcion").val("");

    }

  




    function mantenerProducto(accion,nombre,tipoProducto,precioEstimado,descripcion,codigo){




      
      
      
      
        var enviar = {
            accion:accion,
            nombre:nombre,
            tipoProducto:tipoProducto,
            precioEstimado:precioEstimado,
            descripcion: descripcion,
            idProducto:codigo
        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "mantenerProducto",

            success: function (data) {
                alert(data.mensaje);

                 $("#RegTbxNombre").val("");
                  $("#RegSctTipoProducto").val("");
                   $("#RegTbxPrecioEstimado").val("");
                    $("#RegTbxDescripcion").val("");
            }
        });



    }

    
    function BscCargarTipoProducto() {



        

        var enviar = {

        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "cargarTipoProducto",
            success: function (data) {
                
                var lista = data.listaTipoProducto;
                $("#BvmSctTipoProducto").find('option').remove().end().append("<option></option>");
                $.each(lista, function (i, item) {
                    $("#BvmSctTipoProducto").append("<option>" + item + "</option>");
                });
            }
        });

    }
     function RegCargarTipoProducto() {


        var enviar = {

        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "cargarTipoProducto",
            success: function (data) {
                var lista = data.listaTipoProducto;
                $("#RegSctTipoProducto").find('option').remove().end().append("<option></option>");
                $.each(lista, function (i, item) {
                    $("#RegSctTipoProducto").append("<option>" + item + "</option>");
                });
            }
        });





    }



    function buscarProducto() {

        var nombre, tipoProducto, precioEstimadoMayor, precioEstimadoMenor, descripcion;


      


        var enviar = {
        idEdificio: sessionStorage.getItem("edificio"),
            nombre: $("#BvmTbxNombre").val(),
            tipoProducto: $("#BvmSctTipoProducto").val(),
            precioEstimadoMayor: $("#BvmTbxPrecioEstimadoMayor").val(),
            precioEstimadoMenor: $("#BvmTbxPrecioEstimadoMenor").val(),
            descripcion: $("#BvmTbxDescripcion").val()

        }
       
        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "cargarTipoProductop",

            success: function (data) {
                var lista = data.listaProducto;
                var escritor = "";
                
                //idContrato, nombreEdificio, nombreProveedor, fechaRegistro, periodo, mantenible;
                if (lista.length > 0) {
                    escritor += "<table id='tablaProducto'>" +
                    "<thead>" +
                        "<th class=" + "\"style1\" " + "style=" + "\"width:30px;\" " + "></th>" +
                        '<th>Cod. Producto</th>' +
                        '<th>Nombre</th>' +
                        '<th>Tipo Producto</th>' +
                        "<th>Precio Est.</th>" +
                        '<th>Stock</th>' +
                        '<th>Descripcion</th>' +

                    //"<th class=" + "\"style1\" "+ "style="+"\"width:30px;\" "+"></th>"+
                    "</thead>";
                    escritor += '<tbody id="bodyMP">';

                    $.each(lista, function (i, item) {
                        escritor += "<tr>";
                        escritor += "<td class=" + "\"style1\"" + " style=" + "\width:30px;\"" + " align=" + "\"center\"" + "><input id=" + "\"RadioButton1\"" + " name=" + "\"R1\"" + " type=" + "\"radio\"" + " value=" + "\"1\"" + " style=" + "\"width:30px;\"/></td>";
                        escritor += '<td style="width:auto;">' + item.idProducto + '</td>';
                        escritor += '<td style="width:auto;">' + item.nombre + '</td>';
                        escritor += '<td style="width:auto;">' + item.tipoProducto + '</td>';
                        escritor += '<td style="width:auto;">' + item.precioEstimado + '</td>';
                        escritor += '<td style="width:auto;">' + item.stock + '</td>';
                        escritor += '<td style="width:auto;">' + item.descripcion + '</td>';
                        escritor += "</tr>";
                    });

                    escritor += "</toby>";

                    escritor += "</table>";



                    $("#TablaDinamicaBusqueda").html(escritor);
                    $("#TablaDinamicaBusqueda").show();
                    if (lista.length > 0) {
                        $(function () {
                            /* initiate the plugin */
                            $("#holderMP").jPages({//id del div de la paginacion
                                containerID: "bodyMP", //cuerpo es el id del tbody de mi tabla
                                perPage: 10, // numero de filas por pagina
                                delay: 20,
                                startPage: 1, // pagina que se visualizara en la pantalla
                                midRange: 3, // rango de numeros de pagina q se muestran en el div de paginacion, aqui es dond aparecen los puntos suspensivos: 1,2,3...10
                                animation: "flipInY"
                            });
                        });
                        //            setearValores('tablaContrato', 10);
                        //            init();
                        //            showPageNav('pager', 'NavPosicionCP');
                        //            showPage(1);
                        $("#holderMP").show();
                    }
                } else {
                    escritor = "<p>No se encontró ninguna coincidencia</p>";


                    $("#TablaDinamicaBusqueda").html(escritor);
                    $("#TablaDinamicaBusqueda").show();
                    $("#holderMP").hide();
                    //$("#NavPosicionCP").hide();
                }

            }
        });
    }